# RabbitMQ

## 📕 Articles
- [RabbitMQ Introduction](https://www.rabbitmq.com/tutorials/tutorial-one-dotnet.html) ⭐
- [RabitMQ Work Queues(using the .NET Client)](https://www.rabbitmq.com/tutorials/tutorial-two-dotnet.html) ⭐
- [RabbitMQ Publish/Subscribe](https://www.rabbitmq.com/tutorials/tutorial-three-dotnet.html) ⭐
- [RabbitMQ Routing](https://www.rabbitmq.com/tutorials/tutorial-four-dotnet.html) ⭐
- [RabbitMQ Topics](https://www.rabbitmq.com/tutorials/tutorial-five-dotnet.html) ⭐
- [RabbitMQ Remote procedure call (RPC)](https://www.rabbitmq.com/tutorials/tutorial-six-dotnet.html) ⭐
- [RabbitMQ Publisher Confirms](https://www.rabbitmq.com/tutorials/tutorial-seven-dotnet.html) ⭐
- [Consumer Acknowledgements and Publisher Confirms](https://www.rabbitmq.com/confirms.html) ⭐
- [Alternate Exchanges](https://www.rabbitmq.com/ae.html) ⭐
- [Consumer Prefetch](https://www.rabbitmq.com/consumer-prefetch.html) ⭐
- [Time-To-Live and Expiration](https://www.rabbitmq.com/ttl.html) ⭐
- [Dead Letter Exchanges](https://www.rabbitmq.com/dlx.html) ⭐
- [AMQP 0-9-1 Model Explained](https://www.rabbitmq.com/tutorials/amqp-concepts.html) ⭐
- [RabbitMQ URI Specification](https://www.rabbitmq.com/uri-spec.html)
- [Compatibility and Conformance - Classes from the AMQP specification](https://www.rabbitmq.com/specification.html)
- [AMQP 0-9-1 Complete Reference Guide](https://www.rabbitmq.com/amqp-0-9-1-reference.html)
- [Management Plugin - RabbitMQ Http Apis](https://www.rabbitmq.com/management.html)
- [Management Command Line Tool](https://www.rabbitmq.com/management-cli.html)
- [RabbitMQ HTTP API](https://www.rabbitmq.com/management.html#http-api)
- [RabbitMQ HTTP API reference](https://rawcdn.githack.com/rabbitmq/rabbitmq-server/v3.9.13/deps/rabbitmq_management/priv/www/api/index.html)
- [.NET/C# Client API Guide](https://www.rabbitmq.com/dotnet-api-guide.html)
- [Part 1: RabbitMQ for beginners - What is RabbitMQ?](https://www.cloudamqp.com/blog/part1-rabbitmq-for-beginners-what-is-rabbitmq.html)
- [Part 2.2: Getting started with RabbitMQ and Node.js](https://www.cloudamqp.com/blog/part2-2-rabbitmq-for-beginners_example-and-sample-code-node-js.html)
- [CloudAMQP with .NET Getting started](https://www.cloudamqp.com/docs/dotnet.html)
- [Introduction using in .NET](https://www.rabbitmq.com/tutorials/tutorial-one-dotnet.html)
- [Introduction to RabbitMQ](https://www.tutlane.com/tutorial/rabbitmq/introduction-to-rabbitmq)
- [RabbitMQ Use cases: Explaining message queues and when to use them](https://www.cloudamqp.com/blog/rabbitmq-use-cases-explaining-message-queues-and-when-to-use-them.html)
- [When to use RabbitMQ or Apache Kafka](https://www.cloudamqp.com/blog/when-to-use-rabbitmq-or-apache-kafka.html)
- [when rabbitmq delete message from queue?](https://stackoverflow.com/questions/32737824/when-rabbitmq-delete-message-from-queue)
- [Decoupling the communication with RabbitMQ](https://blexin.com/en/blog-en/decoupling-the-communication-with-rabbitmq/)
- [High availability with RabbitMQ](https://blexin.com/en/blog-en/high-availability-with-rabbitmq/)
- [Routing Topologies for Performance and Scalability with RabbitMQ](https://spring.io/blog/2011/04/01/routing-topologies-for-performance-and-scalability-with-rabbitmq/)
- [Messaging with RabbitMQ and .NET review part 1: foundations and terminology](https://dotnetcodr.com/2016/08/02/messaging-with-rabbitmq-and-net-review-part-1-foundations-and-terminology/)
- [Messaging with RabbitMQ and .NET review part 2: installation and setup](https://dotnetcodr.com/2016/08/03/messaging-with-rabbitmq-and-net-review-part-2-installation-and-setup/)
- [Messaging with RabbitMQ and .NET review part 3: the .NET client and some initial code](https://dotnetcodr.com/2016/08/05/messaging-with-rabbitmq-and-net-review-part-3-the-net-client-and-some-initial-code/)
- [Messaging with RabbitMQ and .NET review part 4: one way messaging with a basic consumer](https://dotnetcodr.com/2016/08/08/messaging-with-rabbitmq-and-net-review-part-4-one-way-messaging-with-a-basic-consumer/)
- [Messaging with RabbitMQ and .NET review part 5: one way messaging with an event based consumer](https://dotnetcodr.com/2016/08/10/messaging-with-rabbitmq-and-net-review-part-5-one-way-messaging-with-an-event-based-consumer/)
- [Messaging with RabbitMQ and .NET review part 6: the fanout exchange type](https://dotnetcodr.com/2016/08/15/messaging-with-rabbitmq-and-net-review-part-6-the-fanout-exchange-type/)
- [Messaging with RabbitMQ and .NET review part 7: two way messaging](https://dotnetcodr.com/2016/08/18/messaging-with-rabbitmq-and-net-review-part-7-two-way-messaging/)
- [Messaging with RabbitMQ and .NET review part 8: routing and topics](https://dotnetcodr.com/2016/08/25/messaging-with-rabbitmq-and-net-review-part-8-routing-and-topics/)
- [Messaging with RabbitMQ and .NET review part 9: headers](https://dotnetcodr.com/2016/08/29/messaging-with-rabbitmq-and-net-review-part-9-headers/)
- [Messaging with RabbitMQ and .NET review part 10: scatter/gather](https://dotnetcodr.com/2016/09/01/messaging-with-rabbitmq-and-net-review-part-10-scattergather/)
- [Messaging with RabbitMQ and .NET review part 11: various other topics](https://dotnetcodr.com/2016/09/05/messaging-with-rabbitmq-and-net-review-part-11-various-other-topics/)
- [RabbitMQ in .NET: data serialisation I](https://dotnetcodr.com/2014/06/05/rabbitmq-in-net-data-serialisation/)
- [RabbitMQ in .NET: data serialisation II](https://dotnetcodr.com/2014/06/09/rabbitmq-in-net-data-serialisation-ii/)
- [RabbitMQ in .NET: handling large messages](https://dotnetcodr.com/2014/06/12/rabbitmq-in-net-handling-large-messages/)
- [RabbitMQ in .NET C#: basic error handling in Receiver](https://dotnetcodr.com/2014/06/16/rabbitmq-in-net-c-basic-error-handling-in-receiver/)
- [RabbitMQ in .NET C#: more complex error handling in the Receiver](https://dotnetcodr.com/2014/06/19/rabbitmq-in-net-c-more-complex-error-handling-in-the-receiver/)
- [Can we have multiple subscribers for RabbitMQ queue?](https://stackoverflow.com/questions/42351130/can-we-have-multiple-subscribers-for-rabbitmq-queue)
- [publisher-confirms](https://www.rabbitmq.com/confirms.html#publisher-confirms)
- [(Consumer) Delivery Acknowledgements](https://www.rabbitmq.com/confirms.html#consumer-acknowledgements)
- [Introducing Publisher Confirms](https://blog.rabbitmq.com/posts/2011/02/introducing-publisher-confirms)
- [Publisher confirms with RabbitMQ and C#](https://rianjs.net/2013/12/publisher-confirms-with-rabbitmq-and-c-sharp)
- [Exchange to Exchange binding in RabbitMQ](https://jstobigdata.com/rabbitmq/exchange-to-exchange-binding-in-rabbitmq/)
- [RabbitMQ Exchange Types](https://medium.com/trendyol-tech/rabbitmq-exchange-types-d7e1f51ec825)
- [Wire Tap Enterprise Integration Pattern](https://www.baeldung.com/wiretap-pattern)
- [A C# .NET Client Proxy For The RabbitMQ Management API](http://mikehadlow.blogspot.com/2012/11/a-c-net-client-proxy-for-rabbitmq.html)
- [CLEANING UP QUEUES AND EXCHANGES ON RABBITMQ](https://www.planetgeek.ch/2015/08/16/cleaning-up-queues-and-exchanges-on-rabbitmq/)
- [CLEANUP CODE FOR CLEANING UP QUEUES AND EXCHANGES ON RABBITMQ](https://www.planetgeek.ch/2015/08/31/cleanup-code-for-cleaning-up-queues-and-exchanges-on-rabbitmq/)
- [Dead Letter Exchanges](https://www.rabbitmq.com/dlx.html)
- [FAQ: When and how to use the RabbitMQ Dead Letter Exchange](https://www.cloudamqp.com/blog/when-and-how-to-use-the-rabbitmq-dead-letter-exchange.html) ⭐

## 📺 Videos
- [The best online training tool for RabbitMQ](https://training.cloudamqp.com/)
- [What is RabbitMQ?](https://youtu.be/7rkeORD4jSw)
- [RabbitMQ : Message Queues for beginners](https://youtu.be/hfUIWe1tK8E)
- [RabbitMQ Explained - Use Cases](https://youtu.be/oq1fOr6Ryws)
- [RabbitMQ Explained - Exchanges](https://youtu.be/o8eU5WiO8fw)
- [Evolutionary history of the RabbitMQ .NET Client towards concurrency - Daniel Marbach](https://www.youtube.com/watch?v=t0lT8eRPyuc)
- [Understand RabbitMQ [AMQP Protocol] - RabbitMQ Beginner to Advanced Tutorial - Part 01](https://www.youtube.com/watch?v=ui005IK8QZ8)
- [Fanout Exchange in RabbitMQ [AMQP Protocol] - RabbitMQ Beginner to Advanced Tutorial - Part 02](https://www.youtube.com/watch?v=z-32VSl9t3s)
- [RabbitMQ C# [RabbitMQ .Net] Implementation - RabbitMQ Beginner to Advanced Tutorial - Part 03](https://www.youtube.com/watch?v=3erQZTV52CI)
- [RabbitMQ Best Practice | Webinar with CloudAMQP](https://www.youtube.com/watch?v=HzPOQsMWrGQ)
- [How to Use RabbitMQ in ASP.NET Core](https://code-maze.com/aspnetcore-rabbitmq/)
- [RabbitMQ- Tutorial 3 - Core Concepts](https://www.youtube.com/watch?v=iIjCjUKwzZw)
- [RabbitMQ- Tutorial 5 - AMQP for RabbitMQ (Part 1)](https://www.youtube.com/watch?v=1QPZbPOUmMk)
- [RabbitMQ- Tutorial 6 - AMQP for RabbitMQ (Part 2)](https://www.youtube.com/watch?v=mXBAjzns6KA)
- [RabbitMQ- Tutorial 7 - Competing Consumers](https://www.youtube.com/watch?v=hi8DjlcbN4A)
- [RabbitMQ- Tutorial 8b - Competing Consumers C# Implementation](https://www.youtube.com/watch?v=LBOfQiaGyxQ)
- [RabbitMQ- Tutorial 9 - Pub/Sub](https://www.youtube.com/watch?v=rgTW-cserPo)
- [RabbitMQ- Tutorial 11- Routing](https://www.youtube.com/watch?v=56IyW2OWllA)
- [RabbitMQ- Tutorial 12b - Routing Implementation in C#](https://www.youtube.com/watch?v=JYzhdGvSqrY)
- [RabbitMQ- Tutorial 15 - Exchange-Exchange Routing, Headers Exchange and Consistent Hashing Exchange](https://www.youtube.com/watch?v=a3dxzvqDhDg)
- [RabbitMQ- Tutorial 16b - Ex-Ex Routing, Headers Exchange and Consistent Hashing Exchange in C#](https://www.youtube.com/watch?v=dDrmSNCEsS0)
- [RabbitMQ- Tutorial 17 - Publishing Options](https://www.youtube.com/watch?v=2hQm4IPM8sM)
- [RabbitMQ- Tutorial 18 - Alternate Exchanges, Dead Letter Exchanges, Message Acks and Queue Options](https://www.youtube.com/watch?v=M7Mg7izbi7w)
- [RabbitMQ- Tutorial 19b - Alt Exchanges, Dead Letter, Message Acks and Queue Options in C#](https://www.youtube.com/watch?v=JUqcxIkpteg)

## 📚 Books
- [The Optimal RabbitMQ Guide](https://www.cloudamqp.com/rabbitmq_ebook.html)
- [RabbitMQ in Action](https://www.manning.com/books/rabbitmq-in-action)
- [RabbitMQ in Depth](https://www.manning.com/books/rabbitmq-in-depth)
- [RabbitMQ Essentials - Second Edition](https://www.packtpub.com/product/rabbitmq-essentials-second-edition/9781789131666)

## 📦 Libraries
- [rabbitmq/rabbitmq-dotnet-client](https://github.com/rabbitmq/rabbitmq-dotnet-client) - RabbitMQ .NET client for .NET Standard 2.0+ and .NET 4.6.1+
- [rabbitmq/rabbitmq-stream-dotnet-client](https://github.com/rabbitmq/rabbitmq-stream-dotnet-client) - RabbitMQ client for the stream protocol
- [thinkco/rabbitmq-httpclient-dotnet](https://github.com/thinkco/rabbitmq-httpclient-dotnet) - RabbitMQ Management HTTP Client for .netCore
- [EasyNetQ/EasyNetQ.Management.Client](https://github.com/EasyNetQ/EasyNetQ.Management.Client) - EasyNetQ.Management.Client is a .NET client for the RabbitMQ RESTful management API
- [EasyNetQ/EasyNetQ](https://github.com/EasyNetQ/EasyNetQ) - An easy to use .NET API for RabbitMQ
- [pardahlman/RawRabbit](https://github.com/pardahlman/RawRabbit) - A modern .NET framework for communication over RabbitMq
- [MassTransit/MassTransit/](https://github.com/MassTransit/MassTransit/) - Distributed Application Framework for .NET
- [JasperFx/wolverine/](https://github.com/JasperFx/wolverine/) - Next Generation .NET Command and Message Bus

## 🚀 Samples
- [hrabbitmq/rabbitmq-tutorials/dotnet-6](https://github.com/rabbitmq/rabbitmq-tutorials/tree/master/dotnet-6)
- [hgmauri/sample-rawrabbit-mediatr](https://github.com/hgmauri/sample-rawrabbit-mediatr) - Example of using RabbitMQ with RawRabbit and MediatR in .NET 5
- [delaneybrian/jumpstartCS-rabbitmq-csharp](https://github.com/delaneybrian/jumpstartCS-rabbitmq-csharp)